package pl.edu.pk.psb.bc.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DataUtil {
	private static final String DATA_PATTERN = "[0-9]{2}-[0-9]{2}-[0-9]{4}";

	/**
	 * Metoda parsuje String na Date jesli to mozliwe, przeciwnym razie wyrzuca ParseException
	 * @param data - data do sparsowania
	 * @return Obiekt Date
	 * @throws ParseException gdy data nie zostala wlasciwie przekonwertowana
	 */
	public static Date parsujNaDate(String data) throws ParseException {
		SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy");
		return formater.parse(data);
	}

	/**
	 * Sprawdza czy podany String jest data o poprawnym formacie
	 * @param data - data do walidacji
	 * @return true gdy poprawna, false w przeciwnym razie
	 */
	public static boolean czyDataPoprawna(String data) {
		Pattern pattern = Pattern.compile(DATA_PATTERN);
		Matcher matcher = pattern.matcher(data);
		return matcher.matches();
	}

	/**
	 * Sprawdza czy podana data jest data z przyszlosci
	 * @param data - data do sprawdzenia
	 * @return true gdy data jest z przyszlosci, w przeciwnym razie false
	 */
	public static boolean czyDataWPrzyszlosci(Date data) {
		Date teraz = new Date();
		return teraz.before(data);
	}
	
	public static String wypiszDate(Date data){
		SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy");
		
		return formater.format(data);
	}
}
